import re
import httpx
import asyncio
from application.ai_agent.base_ai_agent import BaseAiAgent
from application.settings import ZHIPU_API_URL, ZHUPU_API_KEY


class RelevanceScore(BaseAiAgent):
    prompt_path = "relevance_score"

    def translate(self, text):
        """
        异步提取文本中第一个 <scr></scr> 标签内的内容。
        
        :param text: 原始文本字符串
        :return: 返回第一个 <scr></scr> 标签内的字符串内容；若无匹配则返回 None
        """
        # 搜索第一个匹配的 <scr></scr> 内容（支持跨行）
        match = re.search(r"<score>(.*?)</score>", text, flags=re.DOTALL)

        # 提取匹配结果或返回 None
        return match.group(1) if match else None

if __name__ == "__main__":
    async def main():
        agent = RelevanceScore()
        # user_query={user_query}, keywords={keywords}, document={document}
        result = await agent.run({"user_query": "帮我搜索关于苹果公司的采购相关","keywords":["采购","采购流程","采购流程"],"document":{
            "title": "关于苹果公司采购策略的详细信息",
            "body": "关于苹果公司采购策略的详细信息，包括其采购流程、供应链管理、供应商选择标准以及环保和社会责任实践。"
        }})
        print(result)

    asyncio.run(main())
